package Igraf;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.JTextPane;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;

import email.EmailSendService;
import Dbasea.DatuBasea;

public class Login extends JFrame{
	//private static final long serialVersionUID = 720031532933871989L;

	private DatuBasea bd = DatuBasea.getInstance();
	
	//private JButton bai;
	private JTextField ize;
	private JPasswordField pass;
	private JLabel la;
	private JLabel le;
	private JButton ok;
	
	public Login(){
		
		//Panel bat ,argazki batekin eta maximizatzen denean ondo geratzen dena, gainera sarrtu daitezke gauzak bere gainean
        this.setTitle("Login");
        this.setBounds(250, 350, 900, 600);
        this.setResizable(true);
        this.setLocationRelativeTo(null);
        
        mipanel mp = new mipanel(200 ,300);     
       // JLabel label = new JLabel();
      //  mp.add(label, /*BorderLayout.CENTER);label.setIcon (new ImageIcon("/Argazkia/fondo.jpg")*/);

        getContentPane().setLayout(new BorderLayout(0, 0));
        getContentPane().add(mp, BorderLayout.CENTER);
        
 

		
		//Sartuko ditut guztiak beste panel batean
		
		JPanel goikoa=new JPanel();
		JLabel pasa;
		pasa=new JLabel();
		pasa.setText("Ahaztu duzu pasahitza?");
		pasa.setSize(100,10);
		goikoa.add(pasa);
		
		final JPasswordField imail= new JPasswordField();
		imail.setColumns(10);
		goikoa.add(imail);
		JButton button = new JButton("Bidali");
		goikoa.add(button);
		button.addActionListener(new ActionListener() {			
			
			public void actionPerformed(ActionEvent arg0) {
				try {
					//begiratu ea zerbait idatzi den email texfielean
					if (imail.getPassword().length > 0 ) {
						
					//begiratu ea balio den emaila eta ona bada bidali pass
						if (bd.balioEmail(new String(imail.getPassword()))) {
						String pass=bd.lortuMail(new String(imail.getPassword()));
						EmailSendService.getInstance().sendEmail("Pasahitza gogoratzeko email", pass, new String(imail.getPassword()));
					}
					else{ 
						JOptionPane.showMessageDialog(null, "¡Ez da zuzena!.Begiratu ondo jarri duzun\n" +
                            "zure emaila edo ziurtatu konexioa dagoela", "Oker", JOptionPane.ERROR_MESSAGE);
					}
					}
						else
	                    {
	                        JOptionPane.showMessageDialog(null, "Sartu behar duzu emaila\n" +
	                            "Ezin da eremu hutsik egon", "Oker", JOptionPane.ERROR_MESSAGE);
	                    }
				}
				catch (Exception e) {
					
					e.printStackTrace();
				}
			}
		});
		
		
		goikoa.setLayout(new FlowLayout(FlowLayout.RIGHT));
		
		la=new JLabel();
		la.setText("Sartu zure izena");
		la.setSize(100,10);
		goikoa.add(la);
		
		
		ize =new JTextField();
		ize.setColumns(10);
		ize.setSize(100,10);
		goikoa.add(ize);
		
		le=new JLabel();
		le.setText("Sartu zure password");
		le.setSize(100,10);
		goikoa.add(le);
		
		pass = new JPasswordField();
		pass.setColumns(10);
		pass.setSize(100,10);
		goikoa.add(pass);
		
		ok=new JButton();
		ok.setText("Baieztatu");
		ok.setSize(100,20);
		goikoa.add(ok);
		
		getContentPane().add(goikoa, BorderLayout.NORTH);
		
		//Baieztatu botoiari jarri akzio bat
		ActionListener sakatu = new ActionListener()
    	{
        	public void actionPerformed(ActionEvent evt)
        	{
                try
                {
                    //begiratu ea zerbait idatzi duen
                    if (ize.getText().length() > 0 && pass.getPassword().length > 0 )
                    {
                        // ondo sartu bada
                        if( bd.balidatuErabiltzailea( ize.getText(), new String(pass.getPassword()) ) )    //balidatu metodoa deitu
                        {
                            // Hasierako Pantailak ikustarazten duena
                            //setVisible(false);
                            
                            Igraf hasiera= new Igraf();
                            hasiera.setVisible(true);
                            Login.this.setVisible(false);
                        }        
                        else
                        {
                            JOptionPane.showMessageDialog(null, "Erabiltzaile pasahitza ez dira egokiak.", "Oker", JOptionPane.ERROR_MESSAGE);  

                            ize.requestFocusInWindow();
                        }

                           }
                    else
                    {
                        JOptionPane.showMessageDialog(null, "Sartu behar duzu erabiltzaile eta pasahitza.\n" +
                            "Ezin da eremu hutsik egon", "Oker", JOptionPane.ERROR_MESSAGE);
                    }

                } catch (Exception e)
                {
                    e.printStackTrace();
                }

        	}
   		};
   		ok.addActionListener(sakatu);
	 
		
	}
	
	
public static void main(String []args){
	Login main =new Login();
	main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	main.setVisible(true);
	
}
}


